/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package mx.itschapala.dsw2.vista;

import java.util.List;
import javax.ejb.EJB;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.RequestScoped;
import javax.faces.bean.SessionScoped;
import javax.faces.event.ActionEvent;
import mx.itschapala.dsw2.biblioteca8a.bl.AutorBlLocal;
import mx.itschapala.dsw2.biblioteca8a.bl.LibroBlLocal;
import mx.itschapala.dsw2.biblioteca8a.modelo.Autor;
import mx.itschapala.dsw2.biblioteca8a.modelo.Libro;

/**
 *
 * @author Maq.9
 */
@ManagedBean
@SessionScoped
public class LibroBean {
    @EJB
    private LibroBlLocal libroBl;
    @EJB
    private AutorBlLocal autorBl;
private List<Libro> Lista;
private List<Autor> listaAutores;
private Libro libro;
private Autor autor;
private  int idAutorSeleccionado;
private String accion;
private int n;
    public LibroBean() {
        libro=new Libro();
    }

    public Libro getLibro() {
        return libro;
    }

    public void setLibro(Libro libro) {
        this.libro = libro;
    }

    public Autor getAutor() {
        return autor;
    }

    public void setAutor(Autor autor) {
        this.autor = autor;
    }

    public int getIdAutorSeleccionado() {
        return idAutorSeleccionado;
    }

    public void setIdAutorSeleccionado(int idAutorSeleccionado) {
        this.idAutorSeleccionado = idAutorSeleccionado;
    }
    
    public List<Autor> getListaAutores(){
    listaAutores=autorBl.getAll();
    return listaAutores;
    }
    public List<Libro> getListaLibros(){
    Lista=libroBl.getAll();
    return Lista;
    }
    public String preparaAutor(){
    libro.setIdautor(autorBl.findById(idAutorSeleccionado));
    return "LibroConfirmar";
    }
    //-----------------Acciones------------------------------
    public String procesarAccion(){
        if(accion.equalsIgnoreCase("Nuevo")){    
       libroBl.register(libro);
        }
        else
        if(accion.equalsIgnoreCase("Editar")){
           libroBl.ModiFy(libro);
        }
        else if(accion.equalsIgnoreCase("Eliminar")){
           libroBl.delete(libro);
        }
        accion="";
    return "LibroLista";
    }
    //-----------------Listener------------------------------

public void prepararNuevo(ActionEvent evt){
libro=new Libro();
        accion = "Nuevo";
}
public void prepararEditar(ActionEvent evt)   
{
System.out.println(evt.getComponent().getClientId());
  n=Integer.parseInt(evt.getComponent().getClientId().split(":")[2]);
    System.out.println("el numero es:"+n);
    libro=Lista.get(n);
    accion="Editar";
} 
public void prepararEliminar(ActionEvent evt)   
{
System.out.println(evt.getComponent().getClientId());
 n=Integer.parseInt(evt.getComponent().getClientId().split(":")[2]);
    System.out.println("el numero es:"+n);
    libro=Lista.get(n);
    accion="Eliminar";
}    
}
